home *** CD-ROM | disk | FTP | other *** search
- package koala.dynamicjava.interpreter.modifier;
-
- import koala.dynamicjava.interpreter.UninitializedObject;
- import koala.dynamicjava.interpreter.context.Context;
- import koala.dynamicjava.interpreter.error.CatchedExceptionError;
- import koala.dynamicjava.interpreter.error.ExecutionError;
- import koala.dynamicjava.tree.QualifiedName;
-
- public class FinalVariableModifier extends VariableModifier {
- public void modify(Context var1, Object var2) {
- if (!this.type.isPrimitive() && var2 != null && !this.type.isAssignableFrom(var2.getClass())) {
- ClassCastException var3 = new ClassCastException(this.name.getRepresentation());
- throw new CatchedExceptionError(var3, this.name);
- } else if (var1.get(this.representation) == UninitializedObject.INSTANCE) {
- var1.setConstant(this.representation, var2);
- } else {
- throw new ExecutionError("cannot.modify", this.name);
- }
- }
-
- public FinalVariableModifier(QualifiedName var1, Class var2) {
- super(var1, var2);
- }
- }
-